// utils/request.js

// 服务器
const  baseURL='https://sy.gexuejy.com:8888'
// 佳美姐ip
//const  baseURL='http://192.168.110.20:8888'
// 演示版ip
//const  baseURL='http://39.107.86.41:8888'
export {
	baseURL
};


// 请求方法封装
export default function request(config) {
	return new Promise((resolve, reject) => {
		// 获取token
		const token = uni.getStorageSync('token');

		// 设置请求头
		const header = {
			'Content-Type': 'application/json;charset=utf-8'
		};

		if (token) {
			header['token'] = token;
		}

		// 发起请求
		uni.request({

			url: baseURL + config.url,
			method: config.method || 'get',
			data: config.data || config.params || {},
			header: header,
			success: (res) => {
				const data = res.data;
				if (data.code !== 200) {
					// 显示错误信息
					uni.showToast({
						title: data.message || '请求失败',
						icon: 'none'
					});

					// 处理特定错误码
					if (data.message === '令牌失效' || data.message === '用户认证失败') {
						// 跳转到登录页
						uni.redirectTo({
							url: '/pages/login/login'
						});
						// 清除本地存储
						uni.removeStorage({
							key: 'token'
						});
						uni.removeStorage({
							key: 'userinfo'
						});
						uni.removeStorage({
							key: 'businessId'
						});
						uni.removeStorage({
							key: 'roleAuthority'
						});
					}
					reject(new Error(data.message || '请求失败'));
				} else {
					resolve(data);
				}
			},
			fail: (err) => {
				console.error('请求失败:', err);
				uni.showToast({
					title: '网络请求失败，请检查网络',
					icon: 'none'
				});
				reject(err);
			}
		});
	});
}